1. Field
Embodiments of the invention are generally related to prefetching data. And more specifically, embodiments are related to techniques for prefetching data in different ways based on whether the data is sequential or non-sequential.
2. Description of the Related Art
Prefetching generally refers to loading data in anticipation of a subsequent need for the data. Prefetching is commonly used in a variety of different contexts. For instance, computer processors may prefetch instructions, whereas web browsers may prefetch links on the current webpage. As another example, database software applications may prefetch data pages to a data buffer in anticipation of a need for the data pages. In this way, database applications may avoid synchronous I/O, since synchronous I/O may lead to an inefficient use of processor resources and may result in the appearance of sluggish performance (if, for example, the application is stuck waiting on the I/O operation to complete).